'use strict';

// 引入所需模块
let Koa = require('koa');
let router = require('koa-router')();
let bodyParser = require('koa-bodyparser');

let routes = require('./routes');
// 初始化一个web服务器实例
let app = new Koa();

// 注意"中间件", 注意"注册顺序", 先行注册bodyParser, 再注册路由
app.use(bodyParser());
app.use(router.routes());

for(var x in routes){
    console.log(x);
    // 获得键值对中的值，里面的请求类型
    let type = routes[x][0];
    // 获取兼职中的值(数组)，里面的处理函数
    let fn = routes[x][1]
    if(type === 'get'){
        router.get(x, fn);
    }else{
        router.post(x, fn);
    }
    router.get(x, routes[x]);
}

// 注册定义好的路由机器调用的方法
router.get('/', async (ctx, next) => {
    ctx.body='首页';
});

router.get('/my', async (ctx, next) => {
    ctx.body='我的';
});

router.get('/your', async (ctx, next) => {
    ctx.body='你的';
});

router.get('/his', async (ctx, next) => {
    ctx.body='他的';
});

router.get('/our', async (ctx, next) => {
    ctx.body='最终都是我们的';
});

// 启动服务器监听
let port = 3000;
app.listen(port);

// 打印服务器信息
console.log(`http://127.0.0.1:${port}`);

